package apuesta.service;

import java.util.Date;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.StatelessSession;
import org.hibernate.Transaction;

import com.google.gson.Gson;

import apuesta.dto.ApuestaDto;
import apuesta.dto.ApuestaDto2;
import apuesta.dto.EquipoDto;
import apuesta.dto.EquipoDto2;
import apuesta.dto.EventoDto;
import apuesta.dto.EventoDto2;
import apuesta.dto.ResultadoDto2;
import apuesta.hibernate.HibernateFactoryApuesta;

public class ResultadoService {


	public static void insertarResultado(int id_usuario, int id_evento, double cantidadganada, double cantidadperdida) {
		Session sesion = HibernateFactoryApuesta.getSessionFactory().openSession();
		Transaction tx = sesion.beginTransaction();
		try{
			//Query query = sesion.getNamedQuery("query_eventosAprobados");
			Query query = sesion.createSQLQuery("insert into t_resultados(`Id_Usuario`, `Id_Evento`, `CantidadGanada`, `CantidadPerdida`)" +
					" values ("+id_usuario+","+id_evento+","+cantidadganada+","+cantidadperdida+") ");
			query.executeUpdate();
			sesion.flush();
			sesion.clear();
			
		}catch(Exception ex){
			System.err.println("no se pudo traer la lista: "+ex);
		}finally{
			tx.commit();
			sesion.close();
		}
		
	}
	
	public static List<ResultadoDto2> obtenerResultado(String id_usuario, String id_evento) {
		Session sesion = HibernateFactoryApuesta.getSessionFactory().openSession();
		Transaction tx = sesion.beginTransaction();
		List<ResultadoDto2> r = null;
		try{
			//Query query = sesion.getNamedQuery("query_eventosAprobados");
			Query query = sesion.createSQLQuery("select * from t_resultados where Id_Usuario = "+id_usuario+" and Id_Evento = "+id_evento).addEntity("ResultadoDto2",ResultadoDto2.class);
			r = (List<ResultadoDto2>) query.list();
			sesion.flush();
			sesion.clear();
			
		}catch(Exception ex){
			System.err.println("no se pudo traer la lista: "+ex);
		}finally{
			tx.commit();
			sesion.close();
		}
		return r;
	}
	
	
	
}
